/************************************************************************************** 
    WFProcessManager

    Copyright (C) 2010 =OsDevD=

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU Lesser General Public License as published by
    the Free Software Foundation; either version 2.1 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public License
    along with this program; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 **************************************************************************************
 */
package ez.workflow.process;

/**
 * ProcessStates description
 * can be loaded from the configuration through class loaders
 * TODO 
 * 	something to think in the future
 * 
 * @author OsDevD
 * 
 */
public class WFProcessStates {
	// TODO
	// There are several Workflow Process States that we have to define for
	// single
	// run-time process. Workflow Process in run-time can go from one state to
	// another
	// The list Wf States are: Created, Running, Waiting, Executed, Aborted, etc
	// Workflow Process states have different definition and purpose then
	// Lifecycle
	// business states. Workflow Process States are used to define what is going
	// with process.

	// Means that WFProcess is created in run-time and its already in process
	// queue waiting for execution which can be triggered by different user or
	// system based events
	public static final String CREATED = "CREATED";
	
	// Same as CREATED  - may be with a slight differences, should be under lifecycle engine
	public static final String INITIATED = "INITIATED";
	
	// Started workflow process and ready for tasks execution
	public static final String RUNNING = "RUNNING";
	
	// executed without errors
	public static final String COMPLETE = "COMPLETE";
	
	// can be restarted by user or system
	public static final String SUSPENDED = "SUSPENDED";
	
	// terminated workflow process and cannot be restarted
	public static final String TERMINATED = "TERMINATED";
	
	// Already running tasks execution - active workflow process
	public static final String ACTIVE = "ACTIVE";
	
	
	
}
